package com.dd.cloud.user.service.consule;


import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.consult.WebSocketImMsg;
import com.dd.cloud.user.entity.consult.WebSocketPrivateGroup;
import com.dd.cloud.user.req.consult.WebSocketReq;

import java.util.List;

/**
 * <p>
 * webSocketIm聊天消息表 服务类
 * </p>
 *
 * @author czg
 * @since 2024-02-20
 */
public interface IWebSocketImMsgService extends IService<WebSocketImMsg> {
    /**
     * 查询聊天记录
     *
     * @param privateGroupId
     * @return
     */
    List<WebSocketImMsg> queryWebSocketImMsg(Integer privateGroupId);

    /**
     * 运营后台查询聊天记录
     *
     * @param privateGroupId 私聊id
     * @param type           消息类型 1文字 2图片
     * @param keyword        关键字
     * @return
     */
    Object queryWebSocketImMsgSystem(Integer privateGroupId, Integer type, String keyword);

    /**
     * 修改消息为已读
     *
     * @param privateGroupId
     */
    void updateWebSocketImStatus(Integer privateGroupId);

    /**
     * 接受更新记录
     *
     * @param privateGroupId
     */
    void acceptWebSocketIm(Integer privateGroupId);

    /**
     * 结束更新记录
     *
     * @param privateGroupId
     */
    void endWebSocketIm(Integer privateGroupId);

    /**
     * 查询最新消息
     *
     * @return
     */
    Integer queryNewMessage();

    /**
     * 查询是否接受
     * @param privateGroupId
     * @return
     */
    WebSocketReq queryIsAcceptWebSocket(Integer privateGroupId);
}
